## Иструкция пользования Redis в ReposBot

---

### Основные команды

-   Создание записи:
    -   redis.set(<название ключа>, <значение ключа>, "EX", <Время в секундах>)
    -   Пример: redis.set('key1', 'hello', 'EX', 300)
-   Получение записи:
    -   redis.get(<название ключа>)
    -   Пример: await redis.get('key1') || redis.get('key1').then(res => console.log(res))
    -   Возвращает либо значение либо null
-   Удаление записи:
    -   redis.del(<название ключа>)
    -   redis.del('key1')

---

### Основные ключа и их значения

Вместо userId вставить id пользователя

| Название ключа | Значение ключа | Срок жизни | Описание |
| :-: | :-: | :-: | :-: |
| id-**userId** | user, trader | 7200 | Текущая роль пользователя |
| action-id-**userId** | apiKey, secretKey, refill, refCode, setNick, signal | 300 | Текущее действие (текст который ожидается в чате) |
| keys-id-**userId** | {apikey: '', secretKey: ''} | 3600 | Ключи пользователя |

-   action обычно после проведения либо отмены операции чистится
-   keys обычно чистится после проведения проверки ключей, либо при кнопке reset

Подробнее про action: перед каждый ожиданием сообщения (вкл action), после того как сообщение обработается (выкл action)

-   apiKey - действие означает, что сейчас необходимо ожидать в чате апи ключ
-   secretKey - действие означает, что сейчас необходимо ожидать в чате секретный ключ
-   refill - действие означает, что сейчас необходимо ожидать в чате сумму пополенения
-   refCode - действие означает, что сейчас необходимо ожидать в чате новый ключ пользователя
-   setNick - действие означает, что сейчас необходимо ожидать в чате новый никнейм
-   signal - действие означает, что сейчас необходимо ожидать в чате сообщение для подписчиков
